from django.contrib import admin

# Register your models here.

from .models import *
from django.utils.safestring import mark_safe
# 使用django自己的useradmin来注册，解决明文问题
from django.contrib.auth.admin import UserAdmin

@admin.register(UserProfile)
class UserProfileAdmin(UserAdmin):
    # 显示多对多字段

    # 修改页面显示所有字段，
    fieldsets = ()

    # 列表显示图片方法,return 返回的是图片的地址
    def userImg(self, obj):
        if obj.user_img:
            return mark_safe(
                '<div style="width:40px; height:40px; border-radius:20px; background-size:cover; background-image: url(%s);"></div>' % (
                    obj.user_img.url))
        else:
            return mark_safe(
                '<div style="width:40px; height:40px; border-radius:20px; background-size:cover; background-image: url(/media/userProfile/defaultUserImg.jpg);"></div>')

    userImg.short_description = u'用户头像'

    # def user_group(self, obj):
    #     # return obj.FromParent.all()
    #     return [a.name for a in obj.groups.all()]
    #
    # user_group.short_description = u'所属部门'

    # 新增用户页面显示增加填写的字段
    add_fieldsets = (
        (None, {
            'classes': ('wide',),
            'fields': (
                'username', 'password1', 'password2', 'user_img', 'real_name', 'user_id', 'gender', 'mobile',
                'role_ids'),
        }),
    )
    # listdisplay设置要显示在列表中的字段（id字段是Django模型的默认主键）
    list_display = [
        'user_id', 'userImg', 'username', 'real_name', 'gender', 'mobile', 'role_ids', ]
    # 排除显示的字段
    exclude = ('UDA1', 'UDA2', 'UDA3', 'UDA4', 'UDA5', 'is_delete', 'first_name', 'last_name','last_login','user_permissions','groups',)
    # 详情页只读字段
    readonly_fields = ('open_id',)
    # list_per_page设置每页显示多少条记录，默认是100条
    list_per_page = 50
    # ordering设置默认排序字段，负号表示降序排序
    ordering = ('id',)
    # fk_fields 设置显示外键字段
    fk_fields = ('',)

    # 筛选器
    list_filter = ('gender',)  # 过滤器
    search_fields = ('user_id', 'username', 'real_name')  # 搜索字段

    # date_hierarchy = 'create_time'  # 详细时间分层筛选　

